﻿using Newtonsoft.Json;

namespace Fadada.FASC.SDK.DotNetCore.Model
{
    public class BusinessScene
    {
        /// <summary>
        /// 台创建业务场景时由法大大平台产生
        /// 的。长度最大32个字符。用于指定该签
        /// 署任务属于某个特定业务场景，参与各
        /// 方可能对该业务场景有不同的控制逻辑
        /// 和规则。
        /// 在“免验证签”服务上，您的应用系统运
        /// 营主体基于此businessId向法大大平台
        /// 申请对特定业务场景开通“免验证签”服
        /// 务。法大大平台在处理带特定
        /// businessId的签署任务时，会针对不同
        /// 的参与方判断是否授权使用“免验证签”
        /// 进而确定该参与方的签署方式是否免人
        /// 为验证
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "businessId",
            Required = Newtonsoft.Json.Required.Always)]
        public string BusinessId { get; set; }

        /// <summary>
        /// 业务参考号，由应用系统基于自身业务
        /// 上下文提供。长度最大100个字符。该
        /// 参数用于应用系统和签署任务建立关联
        /// 关系，方便业务流程和数据的关联，例
        /// 如可以是电商场景的订单号。
        /// </summary>
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "transReferenceId",
            Required = Newtonsoft.Json.Required.AllowNull)]
        public string TransReferenceId { get; set; }
    }
}